package com.ktgj.train.service;

import java.util.List;

import com.ktgj.train.domain.TrainStationList;
import com.ktgj.train.domain.TrainTrainstation;
import com.ktgj.train.domain.trainlist.CityList;
import com.ktgj.train.domain.vo.CityVo;
import com.ktgj.train.domain.vo.TrainTrainstationVo;

/**
 * 火车站信息Service接口
 * 
 * @author ruoyi
 * @date 2021-11-29
 */
public interface ITrainTrainstationService 
{
    /**
     * 查询火车站信息
     * 
     * @param trainstationid 火车站信息ID
     * @return 火车站信息
     */
    public TrainTrainstation selectTrainTrainstationById(Long trainstationid);

    /**
     * 查询火车站信息列表
     * 
     * @param trainTrainstation 火车站信息
     * @return 火车站信息集合
     */
    public List<TrainTrainstation> selectTrainTrainstationList(TrainTrainstation trainTrainstation);

    /**
     * 新增火车站信息
     * 
     * @param trainTrainstation 火车站信息
     * @return 结果
     */
    public int insertTrainTrainstation(TrainTrainstation trainTrainstation);

    /**
     * 修改火车站信息
     * 
     * @param trainTrainstation 火车站信息
     * @return 结果
     */
    public int updateTrainTrainstation(TrainTrainstation trainTrainstation);

    /**
     * 批量删除火车站信息
     * 
     * @param trainstationids 需要删除的火车站信息ID
     * @return 结果
     */
    public int deleteTrainTrainstationByIds(Long[] trainstationids);

    /**
     * 删除火车站信息信息
     * 
     * @param trainstationid 火车站信息ID
     * @return 结果
     */
    public int deleteTrainTrainstationById(Long trainstationid);

    /**
     * 搜索
     * */
    public List<TrainTrainstationVo> selectTrainTrainstationVague(String vagueName);

    List<TrainStationList> queryLikeByStation(String name);

    List<CityList> queryCityList();

    List<TrainStationList> queryIsHot();

    /**
     * 城市列表
     * */
    public List<CityVo> selectCityList();

    /**
     * 获取火车站三字码
     * */
    public TrainTrainstation selectCityId(String gaodename);

    /**
     * 三字码获取城市名称
     * */
    public TrainTrainstation selectCityName(String code);

    /**
     * 获取城市代码、id、名称
     * */
    public CityVo cityVo(CityVo cityVo);
}
